李阳的前端学习笔记

简单描述一下问题:前端静态资源上线后,当你正处于系统登陆状态,切换页面之类的操作,浏览器端并没有拉取到最新前端代码,导致看到的还是上个迭代的内容。

造成以上问题归咎于触发浏览器缓存策略的机制是否正确。一般排查方向如下:

检查前端打包文件

首先检查前端打包的main.js文件有没有带hash值,没有hash值的话,再经过浏览器缓存策略(强缓存时效内并不会向服务端拉取文件)后检测到服务端文件名没更新就不会去服务器拉取新的文件,导致不能及时更新文件,看到的效果就不够实时。

检查项目路由是否懒加载

如果打包后的文件是带了hash值的,这个时候就需要看一下是否做了分包(路由懒加载)。懒加载的main.js是及时更新的。没有分包的main.js做为静态资源一般是在登录界面加载时就返回并缓存了的,后续的操作都是走的浏览器缓存,所以需要重新登陆一下(分包的好处就体现出来了)。

检查web服务器

检查web服务器的配置是否设置了强缓存;协商缓存的过期时间等

总结一下

所以一般频繁更新的文件,如main.js就需要协商缓存,而打包出来的vendor.js一些三方依赖建议设置时效强缓存

赞(2) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐